package com.hngates.project.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hngates.common.annotation.Excel;
import com.hngates.common.core.domain.BaseEntity;

/**
 * 施工合同对象 construction_contract
 * 
 * @author ruoyi
 * @date 2022-06-22
 */
public class ConstructionContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 施工单位名称 */
    @Excel(name = "施工单位名称")
    private String constructionId;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private BigDecimal contractMoney;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String paymentMethod;

    /** 未支付余额 */
    @Excel(name = "未支付余额")
    private BigDecimal unpaidBalance;

    /** 付款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDate;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getConstructionId() {
        return constructionId;
    }

    public void setConstructionId(String constructionId) {
        this.constructionId = constructionId;
    }

    public BigDecimal getContractMoney() {
        return contractMoney;
    }

    public void setContractMoney(BigDecimal contractMoney) {
        this.contractMoney = contractMoney;
    }

    public String getPaymentMethod() {
        return paymentMethod;
    }

    public void setPaymentMethod(String paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    public BigDecimal getUnpaidBalance() {
        return unpaidBalance;
    }

    public void setUnpaidBalance(BigDecimal unpaidBalance) {
        this.unpaidBalance = unpaidBalance;
    }

    public Date getPaymentDate() {
        return paymentDate;
    }

    public void setPaymentDate(Date paymentDate) {
        this.paymentDate = paymentDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("constructionId", getConstructionId())
            .append("contractMoney", getContractMoney())
            .append("paymentMethod", getPaymentMethod())
            .append("unpaidBalance", getUnpaidBalance())
            .append("paymentDate", getPaymentDate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
